package com.gftBrazil.BankSystem.sistema;

import com.gftBrazil.BankSystem.bean.UsuarioBean;
import com.gftBrazil.BankSystem.bean.enums.Permissao;
import com.gftBrazil.BankSystem.exceptions.AcessoNegadoException;

/**
 *
 * @author JRSS
 */
public class Sessao {

    private static final Sessao instance = new Sessao();
    private UsuarioBean usuario;

    public static final Sessao getInstance() {
        return instance;
    }

    /**
     * @return the usuario
     */
    public UsuarioBean getUsuario() {
        return usuario;
    }

    /**
     * @param usuario the usuario to set
     */
    public void setUsuario(UsuarioBean usuario) {
        this.usuario = usuario;
    }

    public void validarAcesso(Permissao permissao) throws AcessoNegadoException {
        if (!usuario.getPermissoes().contains(permissao)) {
            throw new AcessoNegadoException("O usuario nao possui acesso.", permissao);
        }
    }
}
